<?php	if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* -----------------------------------------------------------------------------------------------------
* @copyright 	: Copyright (C) 2009 Tokaban. All rights reserved.
* @license 		: See ADA.
* @version file	: do_registration.php. 
* -----------------------------------------------------------------------------------------------------
* @author 		: Hoang Minh An. an_hm87@tokaban.com
* @finished		: 2010/05/23.
* @description	: Dieu khien .
* -----------------------------------------------------------------------------------------------------
* @tester 		: an_hm87
* @test date	: 2010/05/23.
**/
define('SMTP_INCLUDED', 1);
class contact extends controller{

	var	$title					= '';
	var	$tags					= '';
	var	$description			= ''; 
	
	var $nid_material			= '';
	var $nid_cat				= '';
	
	var $cpt_chk				= '';
	
	function contact()
	{
		parent::controller();
		$this->load->database();
		$this->load->helper('ap_function');
		$this->load->helper('ap_object');
		$this->load->helper('ap_html');
		$this->load->helper('ap_view_helper');
		$this->load->helper('ap_db');
		$this->load->helper('ap_module');
		$this->load->helper('ap_captcha_helper');
		$this->load->language('ap', 'eng');
		session_start();
	}
	
	function EmptyDir($dir) {
		$handle=opendir($dir);
		
		while (($file = readdir($handle))!==false) {
		@unlink($dir.'/'.$file);
		}
		
		closedir($handle);
	}
	
	function index()
	{
      $this->EmptyDir('captcha/');
		$arr_cfg							= '';
		$img_cpt 							= create_captcha($arr_cfg);
		$data['img_cpt'] 					= $img_cpt;
		if(isset($img_cpt['word']))
		{
			$data['hidden_cpt'] 	= $img_cpt['word'];
		}
		else
			$data['hidden_cpt'] 	= '';
		
		$this->title			= 'Contact us';
		
		$data['title']			= $this->title;
		$data['tags']			= $this->tags;
		$data['description']	= $this->description;
		
		$data['menu_sec']		= '';
		$data['menu_cat']		= '';

		$data['menu_top']		= 'contact';
		$data['g_ishome']		= 0;
		$data['message']		= '';
		$this->load->view('contact',$data);
	}
	
	function get_data()
	{
		if(isset($_POST['txt_capt']))
			$this->cpt_chk		= $_POST['txt_capt'];
		if(isset($_POST['hidden_img_cpt']))
			$hidden_img_cpt		= $_POST['hidden_img_cpt'];
		
		if(isset($_REQUEST['txt_name']) && ($this->cpt_chk == $hidden_img_cpt))
		{
			//Send Mail
			$content  = 'Họ tên: 	'.$_REQUEST['txt_name'];
			
			$content .= '<br />';
			$content .= 'Email:'.$_REQUEST['txt_email'];
			
			$content .= '<br />';
			$content .= 'Số điện thoại: '.$_REQUEST['txt_hand_phone'];
			
			$content .= '<br />';
			$content .= 'Công ty: '.$_REQUEST['txt_company'];
	
			$content .= '<br />';
			$content .= 'Địa chỉ:'.$_REQUEST['txt_address'];
	
			
			
			$content .= '<br />';
			$content .= 'Tiêu đề: '.$_REQUEST['txt_title'];
			
			
	
			$content .= '<br />';
			$content .= 'Nội dung:'.$_REQUEST['txt_content'];
			
			$email = '';
			// Get keyword page
			 $obj_data = get_config_byid(1);
			 foreach($obj_data as $data):
				$email		= $data['cvalue'];
			 endforeach;
			//echo $content;exit();
			$this->SendMail($_REQUEST['txt_email'],$email,"THÔNG TIN EMAIL LIÊN HỆ TỪ WEBSITE TAMNHINSO.COM",$content,$_REQUEST['txt_name']);
			$root = "http://".$_SERVER['HTTP_HOST'];
			$root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']); 
			Header('Location: '.base_url().'complete_contact'); 
		}
		else
		{
			$this->EmptyDir('captcha/');
			$arr_cfg							= '';
			$img_cpt 							= create_captcha($arr_cfg);
			$data['img_cpt'] 					= $img_cpt;
			if(isset($img_cpt['word']))
			{
				$data['hidden_cpt'] 	= $img_cpt['word'];
			}
			else
				$data['hidden_cpt'] 	= '';
			
			$this->title			= 'Contact us';
			
			$data['title']			= $this->title;
			$data['tags']			= $this->tags;
			$data['description']	= $this->description;
			
			$data['menu_sec']		= '';
			$data['menu_cat']		= '';
	
			$data['menu_top']		= 'contact';
			$data['g_ishome']		= 0;
			$data['message']		= 'Sai captcha, xin vui lòng nhập lại!';
			$this->load->view('contact',$data);
		}
			
	}
	
	function caculator()
	{
		
	}
	
	
	function server_parse($socket, $response)
	{
	   $server_response = '';
	   while ( substr($server_response,3,1) != ' ' )
	   {
		  if( !( $server_response = fgets($socket, 256) ) )
		  {
			 echo "Couldn't get mail server response codes";
		  }
	   }
	
	   if( !( substr($server_response, 0, 3) == $response ) )
	   {
		  echo "Ran into problems sending Mail. Response: $server_response";
	   }
	}
	
	/****************************************************************************
	*        Function:                 smtpmail
	*        Description:         This is a functional replacement for php's builtin mail
	*                                                function, that uses smtp.
	*        Usage:                        The usage for this function is identical to that of php's
	*                                                built in mail function.
	****************************************************************************/
	function smtpmail($mail_to, $subject, $message, $headers='',$smtp_host, $smtp_username, $smtp_password, 
	$admin_email)
	{
	
			//
			// Fix any bare linefeeds in the message to make it RFC821 Compliant.
			//
			$message = preg_replace("/(?<!\r)\n/si", "\r\n", $message);
	
			if ($headers != "")
			{
					if(is_array($headers))
					{
							if(sizeof($headers) > 1)
							{
									$headers = join("\r\n", $headers);
							}
							else
							{
									$headers = $headers[0];
							}
					}
					$headers = chop($headers);
	
					//
					// Make sure there are no bare linefeeds in the headers
					//
					$headers = preg_replace("/(?<!\r)\n/si", "\r\n", $headers);
					//
					// Ok this is rather confusing all things considered,
					// but we have to grab bcc and cc headers and treat them differently
					// Something we really didn't take into consideration originally
					//
					$header_array = explode("\r\n", $headers);
					@reset($header_array);
					$headers = "";
					$cc = '';
					$bcc = '';
					while( list(, $header) = each($header_array) )
					{
							if( preg_match("/^cc:/si", $header) )
							{
									$cc = preg_replace("/^cc:(.*)/si", "\\1", $header);
							}
							else if( preg_match("/^bcc:/si", $header ))
							{
									$bcc = preg_replace("/^bcc:(.*)/si", "\\1", $header);
									$header = "";
							}
							$headers .= $header . "\r\n";
					}
					$headers = chop($headers);
					$cc = explode(",", $cc);
					$bcc = explode(",", $bcc);
			}
	
	
			if(trim($mail_to) == "")
			{
					exit();
			}
			if(trim($subject) == "")
			{
					die("No email Subject specified");
			}
	
			$mail_to_array = explode(",", $mail_to);
	
			//
			// Ok we have error checked as much as we can to this point let's get on
			// it already.
			//
			if( !$socket = fsockopen($smtp_host, 25, $errno, $errstr, 20) )
			{
					die("Could not connect to smtp host : $errno : $errstr");
			}
			$this->server_parse($socket, "220");
	
			if( !empty($smtp_username) && !empty($smtp_password) )
			{
					// Send the RFC2554 specified EHLO.
					// This improved as provided by SirSir to accomodate
					// both SMTP AND ESMTP capable servers
					fputs($socket, "EHLO " . $smtp_host . "\r\n");
					server_parse($socket, "250");
	
					fputs($socket, "AUTH LOGIN\r\n");
					server_parse($socket, "334");
					fputs($socket, base64_encode($smtp_username) . "\r\n");
					server_parse($socket, "334");
					fputs($socket, base64_encode($smtp_password) . "\r\n");
					server_parse($socket, "235");
			}
			else
			{
					// Send the RFC821 specified HELO.
					fputs($socket, "HELO " . $smtp_host . "\r\n");
					$this->server_parse($socket, "250");
			}
	
			// From this point onward most server response codes should be 250
			// Specify who the mail is from....
			fputs($socket, "MAIL FROM: <" . $admin_email . ">\r\n");
			$this->server_parse($socket, "250");
	
			// Specify each user to send to and build to header.
			$to_header = "To: ";
			@reset( $mail_to_array );
			while( list( , $mail_to_address ) = each( $mail_to_array ))
			{
					//
					// Add an additional bit of error checking to the To field.
					//
					$mail_to_address = trim($mail_to_address);
					if ( preg_match('/[^ ]+\@[^ ]+/', $mail_to_address) )
					{
							fputs( $socket, "RCPT TO: <$mail_to_address>\r\n" );
							$this->server_parse( $socket, "250" );
					}
					$to_header .= "<$mail_to_address>, ";
			}
			// Ok now do the CC and BCC fields...
			@reset( $bcc );
			while( list( , $bcc_address ) = each( $bcc ))
			{
					//
					// Add an additional bit of error checking to bcc header...
					//
					$bcc_address = trim( $bcc_address );
					if ( preg_match('/[^ ]+\@[^ ]+/', $bcc_address) )
					{
							fputs( $socket, "RCPT TO: <$bcc_address>\r\n" );
							$this->server_parse( $socket, "250" );
					}
			}
			@reset( $cc );
			while( list( , $cc_address ) = each( $cc ))
			{
					//
					// Add an additional bit of error checking to cc header
					//
					$cc_address = trim( $cc_address );
					if ( preg_match('/[^ ]+\@[^ ]+/', $cc_address) )
					{
							fputs($socket, "RCPT TO: <$cc_address>\r\n");
							$this->server_parse($socket, "250");
					}
			}
			// Ok now we tell the server we are ready to start sending data
			fputs($socket, "DATA\r\n");
	
			// This is the last response code we look for until the end of the message.
			$this->server_parse($socket, "354");
	
			// Send the Subject Line...
			fputs($socket, "Subject: $subject\r\n");
	
			// Now the To Header.
			fputs($socket, "$to_header\r\n");
	
			// Now any custom headers....
			fputs($socket, "$headers\r\n\r\n");
	
			// Ok now we are ready for the message...
			fputs($socket, "$message\r\n");
	
			// Ok the all the ingredients are mixed in let's cook this puppy...
			fputs($socket, ".\r\n");
			$this->server_parse($socket, "250");
			// Now tell the server we are done and close the socket...
			fputs($socket, "QUIT\r\n");
			fclose($socket);
	
			return TRUE;
	}
	
	function SendMail($frommail,$tomail,$subject,$message,$fromfullname='')
	{
		  $from= $fromfullname." <".$frommail.">";
		  $headers ="Return-Path: ".$fromfullname." <".$frommail.">\r\n";
		  $headers.="From: $from\nX-Mailer: ".$fromfullname."\r\n";
		  $headers .="Mime-Version: 1.0\r\n";
		  $headers .="Content-type: text/html; charset=utf-8\r\n";
		  $smtp_host ='localhost';
		  $result = $this->smtpmail($tomail,$subject,$message,$headers,$smtp_host, $smtp_username='', $smtp_password='', 
	$admin_email='');
	
	}
}
?>
